package cn.com.huzo.service.master;

import cn.com.huzo.model.entities.master.DepartmentEntity;
import huzofw.model.entities.viewmodel.TreeNode;
import huzofw.service.GenericManager;
import java.util.List;
import java.util.Map;

/**
 * 部门管理服务对象接口。
 *
 * @author 吴旭
 */
public interface DepartmentManager extends GenericManager<DepartmentEntity, Long> {

    /**
     * 改变所属目录
     * <p>
     * @param nodeParams 节点及父节点标识
     * @return
     * @throws java.lang.Exception
     */
    Integer changeParentCatalogue(Map<String, Object> nodeParams) throws Exception;

    /**
     * 取得该所属部门的全部子部门数据.
     *
     * @param parentKey        所属部门ID
     * @param isPopupWnd       是否为弹出选择窗口
     * @param IsAdiministrator 是否为管理员
     * @return 该所属部门的全部子部门数据
     * @throws java.lang.Exception
     */
    List<TreeNode> fetchTreeNodeByParentKey(Long parentKey, Integer isPopupWnd, Boolean IsAdiministrator) throws Exception;
}
